/ Developer CD Series 1994 November: Tool Chest
/ Dev.CD Nov 94.toast / Apple II / Essentials / Essentials.sea / MPW IIGS Interfaces / PIIGSIncludes / IntMath.p ![]() | < prev | next > |
MacBinary | 1993-06-15 | 4.5 KB | [TEXT/MPS ] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
66% | dexvert | ZX81 Sinclair BASIC (image/sinclairBASIC) | ext | Supported |
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Applause Picture (image/applausePicture) | ext | Unsupported |
1% | dexvert | bsdiff patch (other/bsdiffPatch) | ext | Unsupported |
1% | dexvert | imgdiff patch (other/imgdiffPatch) | ext | Unsupported |
1% | dexvert | MATLAB p-code (other/matlabPCode) | ext | Unsupported |
1% | dexvert | WSUS Patch Storage File (other/wsusPatchStorageFile) | ext | Unsupported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Tue Jun 15 12:16:54 1993, modified Tue Jun 15 12:16:54 1993, creator 'MPS ', type ASCII, 4059 bytes "IntMath.p" , at 0x105b 286 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [MPS ] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 49 6e 74 4d 61 74 | 68 2e 70 00 00 00 00 00 |..IntMat|h.p.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 0f db 00 | 00 01 1e a8 43 a6 76 a8 |........|....C.v.|
|00000060| 43 a6 76 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |C.v.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 a8 9b 00 00 |........|........|
|00000080| 7b 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |{*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 3b 20 |********|*****.; |
|000000b0| 46 69 6c 65 3a 20 49 6e | 74 4d 61 74 68 2e 70 0d |File: In|tMath.p.|
|000000c0| 3b 0d 3b 0d 3b 20 43 6f | 70 79 72 69 67 68 74 20 |;.;.; Co|pyright |
|000000d0| 41 70 70 6c 65 20 43 6f | 6d 70 75 74 65 72 2c 20 |Apple Co|mputer, |
|000000e0| 49 6e 63 2e 20 31 39 38 | 36 2d 39 30 0d 3b 20 41 |Inc. 198|6-90.; A|
|000000f0| 6c 6c 20 52 69 67 68 74 | 73 20 52 65 73 65 72 76 |ll Right|s Reserv|
|00000100| 65 64 0d 3b 0d 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ed.;.***|********|
|00000110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000130| 2a 7d 0d 0d 55 4e 49 54 | 20 49 4e 54 4d 41 54 48 |*}..UNIT| INTMATH|
|00000140| 3b 0d 49 4e 54 45 52 46 | 41 43 45 0d 55 53 45 53 |;.INTERF|ACE.USES|
|00000150| 20 54 59 50 45 53 3b 0d | 43 4f 4e 53 54 0d 0d 0d | TYPES;.|CONST...|
|00000160| 7b 20 45 72 72 6f 72 20 | 43 6f 64 65 73 20 7d 0d |{ Error |Codes }.|
|00000170| 69 6d 42 61 64 49 6e 70 | 74 50 61 72 61 6d 20 3d |imBadInp|tParam =|
|00000180| 20 24 30 42 30 31 3b 20 | 20 7b 20 62 61 64 20 69 | $0B01; | { bad i|
|00000190| 6e 70 75 74 20 70 61 72 | 61 6d 65 74 65 72 20 7d |nput par|ameter }|
|000001a0| 0d 69 6d 49 6c 6c 65 67 | 61 6c 43 68 61 72 20 3d |.imIlleg|alChar =|
|000001b0| 20 24 30 42 30 32 3b 20 | 20 7b 20 49 6c 6c 65 67 | $0B02; | { Illeg|
|000001c0| 61 6c 20 63 68 61 72 61 | 63 74 65 72 20 69 6e 20 |al chara|cter in |
|000001d0| 73 74 72 69 6e 67 20 7d | 0d 69 6d 4f 76 65 72 66 |string }|.imOverf|
|000001e0| 6c 6f 77 20 3d 20 24 30 | 42 30 33 3b 20 20 7b 20 |low = $0|B03; { |
|000001f0| 69 6e 74 65 67 65 72 20 | 6f 72 20 6c 6f 6e 67 20 |integer |or long |
|00000200| 69 6e 74 65 67 65 72 20 | 6f 76 65 72 66 6c 6f 77 |integer |overflow|
|00000210| 20 7d 0d 69 6d 53 74 72 | 4f 76 65 72 66 6c 6f 77 | }.imStr|Overflow|
|00000220| 20 3d 20 24 30 42 30 34 | 3b 20 20 7b 20 73 74 72 | = $0B04|; { str|
|00000230| 69 6e 67 20 6f 76 65 72 | 66 6c 6f 77 20 7d 0d 0d |ing over|flow }..|
|00000240| 7b 20 4c 69 6d 69 74 20 | 56 61 6c 75 65 73 20 7d |{ Limit |Values }|
|00000250| 0d 6d 69 6e 4c 6f 6e 67 | 69 6e 74 20 3d 20 24 38 |.minLong|int = $8|
|00000260| 30 30 30 30 30 30 30 3b | 20 20 7b 20 6d 69 6e 69 |0000000;| { mini|
|00000270| 6d 75 6d 20 6e 65 67 61 | 74 69 76 65 20 73 69 67 |mum nega|tive sig|
|00000280| 6e 65 64 20 6c 6f 6e 67 | 20 69 6e 74 65 67 65 72 |ned long| integer|
|00000290| 20 7d 0d 6d 69 6e 46 72 | 61 63 20 3d 20 24 38 30 | }.minFr|ac = $80|
|000002a0| 30 30 30 30 30 30 3b 20 | 20 7b 20 70 69 6e 6e 65 |000000; | { pinne|
|000002b0| 64 20 76 61 6c 75 65 20 | 66 6f 72 20 6e 65 67 61 |d value |for nega|
|000002c0| 74 69 76 65 20 46 72 61 | 63 20 6f 76 65 72 66 6c |tive Fra|c overfl|
|000002d0| 6f 77 20 7d 0d 6d 69 6e | 46 69 78 65 64 20 3d 20 |ow }.min|Fixed = |
|000002e0| 24 38 30 30 30 30 30 30 | 30 3b 20 20 7b 20 70 69 |$8000000|0; { pi|
|000002f0| 6e 6e 65 64 20 76 61 6c | 75 65 20 66 6f 72 20 6e |nned val|ue for n|
|00000300| 65 67 61 74 69 76 65 20 | 46 69 78 65 64 20 6f 76 |egative |Fixed ov|
|00000310| 65 72 66 6c 6f 77 20 7d | 0d 6d 69 6e 49 6e 74 20 |erflow }|.minInt |
|00000320| 3d 20 24 38 30 30 30 3b | 20 20 7b 20 4d 69 6e 69 |= $8000;| { Mini|
|00000330| 6d 75 6d 20 6e 65 67 61 | 74 69 76 65 20 73 69 67 |mum nega|tive sig|
|00000340| 6e 65 64 20 69 6e 74 65 | 67 65 72 20 7d 0d 6d 61 |ned inte|ger }.ma|
|00000350| 78 49 6e 74 20 3d 20 24 | 37 46 46 46 3b 20 20 7b |xInt = $|7FFF; {|
|00000360| 20 4d 61 78 69 6d 75 6d | 20 70 6f 73 69 74 69 76 | Maximum| positiv|
|00000370| 65 20 73 69 67 6e 65 64 | 20 69 6e 74 65 67 65 72 |e signed| integer|
|00000380| 20 7d 0d 6d 61 78 55 49 | 6e 74 20 3d 20 24 46 46 | }.maxUI|nt = $FF|
|00000390| 46 46 3b 20 20 7b 20 4d | 61 78 69 6d 75 6d 20 70 |FF; { M|aximum p|
|000003a0| 6f 73 69 74 69 76 65 20 | 75 6e 73 69 67 6e 65 64 |ositive |unsigned|
|000003b0| 20 69 6e 74 65 67 65 72 | 20 7d 0d 6d 61 78 4c 6f | integer| }.maxLo|
|000003c0| 6e 67 69 6e 74 20 3d 20 | 24 37 46 46 46 46 46 46 |ngint = |$7FFFFFF|
|000003d0| 46 3b 20 20 7b 20 6d 61 | 78 69 6d 75 6d 20 70 6f |F; { ma|ximum po|
|000003e0| 73 69 74 69 76 65 20 73 | 69 67 6e 65 64 20 4c 6f |sitive s|igned Lo|
|000003f0| 6e 67 69 6e 74 20 7d 0d | 6d 61 78 46 72 61 63 20 |ngint }.|maxFrac |
|00000400| 3d 20 24 37 46 46 46 46 | 46 46 46 3b 20 20 7b 20 |= $7FFFF|FFF; { |
|00000410| 70 69 6e 6e 65 64 20 76 | 61 6c 75 65 20 66 6f 72 |pinned v|alue for|
|00000420| 20 70 6f 73 69 74 69 76 | 65 20 46 72 61 63 20 6f | positiv|e Frac o|
|00000430| 76 65 72 66 6c 6f 77 20 | 7d 0d 6d 61 78 46 69 78 |verflow |}.maxFix|
|00000440| 65 64 20 3d 20 24 37 46 | 46 46 46 46 46 46 3b 20 |ed = $7F|FFFFFF; |
|00000450| 20 7b 20 70 69 6e 6e 65 | 64 20 76 61 6c 75 65 20 | { pinne|d value |
|00000460| 66 6f 72 20 70 6f 73 69 | 74 69 76 65 20 46 69 78 |for posi|tive Fix|
|00000470| 65 64 20 6f 76 65 72 66 | 6c 6f 77 20 7d 0d 6d 61 |ed overf|low }.ma|
|00000480| 78 55 4c 6f 6e 67 20 3d | 20 24 46 46 46 46 46 46 |xULong =| $FFFFFF|
|00000490| 46 46 3b 20 20 7b 20 6d | 61 78 69 6d 75 6d 20 75 |FF; { m|aximum u|
|000004a0| 6e 73 69 67 6e 65 64 20 | 4c 6f 6e 67 20 7d 0d 54 |nsigned |Long }.T|
|000004b0| 59 50 45 0d 49 6e 74 44 | 69 76 52 65 63 50 74 72 |YPE.IntD|ivRecPtr|
|000004c0| 20 3d 20 5e 49 6e 74 44 | 69 76 52 65 63 3b 0d 49 | = ^IntD|ivRec;.I|
|000004d0| 6e 74 44 69 76 52 65 63 | 20 3d 20 52 45 43 4f 52 |ntDivRec| = RECOR|
|000004e0| 44 0d 20 20 20 20 71 75 | 6f 74 69 65 6e 74 20 3a |D. qu|otient :|
|000004f0| 20 49 6e 74 65 67 65 72 | 3b 20 7b 20 71 75 6f 74 | Integer|; { quot|
|00000500| 69 65 6e 74 20 66 72 6f | 6d 20 53 44 69 76 69 64 |ient fro|m SDivid|
|00000510| 65 20 7d 0d 20 20 20 20 | 72 65 6d 61 69 6e 64 65 |e }. |remainde|
|00000520| 72 20 3a 20 49 6e 74 65 | 67 65 72 3b 20 7b 20 72 |r : Inte|ger; { r|
|00000530| 65 6d 61 69 6e 64 65 72 | 20 66 72 6f 6d 20 53 44 |emainder| from SD|
|00000540| 69 76 69 64 65 20 7d 0d | 45 4e 44 3b 0d 4c 6f 6e |ivide }.|END;.Lon|
|00000550| 67 44 69 76 52 65 63 50 | 74 72 20 3d 20 5e 4c 6f |gDivRecP|tr = ^Lo|
|00000560| 6e 67 44 69 76 52 65 63 | 3b 0d 4c 6f 6e 67 44 69 |ngDivRec|;.LongDi|
|00000570| 76 52 65 63 20 3d 20 52 | 45 43 4f 52 44 0d 20 20 |vRec = R|ECORD. |
|00000580| 20 20 71 75 6f 74 69 65 | 6e 74 20 3a 20 4c 6f 6e | quotie|nt : Lon|
|00000590| 67 69 6e 74 3b 20 7b 20 | 51 75 6f 74 69 65 6e 74 |gint; { |Quotient|
|000005a0| 20 66 72 6f 6d 20 4c 6f | 6e 67 44 69 76 20 7d 0d | from Lo|ngDiv }.|
|000005b0| 20 20 20 20 72 65 6d 61 | 69 6e 64 65 72 20 3a 20 | rema|inder : |
|000005c0| 4c 6f 6e 67 69 6e 74 3b | 20 7b 20 72 65 6d 61 69 |Longint;| { remai|
|000005d0| 6e 64 65 72 20 66 72 6f | 6d 20 4c 6f 6e 67 44 69 |nder fro|m LongDi|
|000005e0| 76 20 7d 0d 45 4e 44 3b | 0d 44 69 76 52 65 63 50 |v }.END;|.DivRecP|
|000005f0| 74 72 20 3d 20 5e 44 69 | 76 52 65 63 3b 20 28 2a |tr = ^Di|vRec; (*|
|00000600| 20 66 6f 72 20 62 61 63 | 6b 77 61 72 64 20 63 6f | for bac|kward co|
|00000610| 6d 70 61 74 61 62 69 6c | 69 74 79 20 2a 29 0d 44 |mpatabil|ity *).D|
|00000620| 69 76 52 65 63 20 3d 20 | 4c 6f 6e 67 44 69 76 52 |ivRec = |LongDivR|
|00000630| 65 63 3b 0d 4c 6f 6e 67 | 4d 75 6c 52 65 63 50 74 |ec;.Long|MulRecPt|
|00000640| 72 20 3d 20 5e 4c 6f 6e | 67 4d 75 6c 52 65 63 3b |r = ^Lon|gMulRec;|
|00000650| 0d 4c 6f 6e 67 4d 75 6c | 52 65 63 20 3d 20 52 45 |.LongMul|Rec = RE|
|00000660| 43 4f 52 44 0d 20 20 20 | 20 6c 73 52 65 73 75 6c |CORD. | lsResul|
|00000670| 74 20 3a 20 4c 6f 6e 67 | 69 6e 74 3b 20 7b 20 6c |t : Long|int; { l|
|00000680| 6f 77 20 32 20 77 6f 72 | 64 73 20 6f 66 20 70 72 |ow 2 wor|ds of pr|
|00000690| 6f 64 75 63 74 20 7d 0d | 20 20 20 20 6d 73 52 65 |oduct }.| msRe|
|000006a0| 73 75 6c 74 20 3a 20 4c | 6f 6e 67 69 6e 74 3b 20 |sult : L|ongint; |
|000006b0| 7b 20 48 69 67 68 20 32 | 20 77 6f 72 64 73 20 6f |{ High 2| words o|
|000006c0| 66 20 70 72 6f 64 75 63 | 74 20 7d 0d 45 4e 44 3b |f produc|t }.END;|
|000006d0| 0d 57 6f 72 64 44 69 76 | 52 65 63 50 74 72 20 3d |.WordDiv|RecPtr =|
|000006e0| 20 5e 57 6f 72 64 44 69 | 76 52 65 63 3b 0d 57 6f | ^WordDi|vRec;.Wo|
|000006f0| 72 64 44 69 76 52 65 63 | 20 3d 20 52 45 43 4f 52 |rdDivRec| = RECOR|
|00000700| 44 0d 20 20 20 20 71 75 | 6f 74 69 65 6e 74 20 3a |D. qu|otient :|
|00000710| 20 49 6e 74 65 67 65 72 | 3b 20 7b 20 51 75 6f 74 | Integer|; { Quot|
|00000720| 69 65 6e 74 20 66 72 6f | 6d 20 55 44 69 76 69 64 |ient fro|m UDivid|
|00000730| 65 20 7d 0d 20 20 20 20 | 72 65 6d 61 69 6e 64 65 |e }. |remainde|
|00000740| 72 20 3a 20 49 6e 74 65 | 67 65 72 3b 20 7b 20 72 |r : Inte|ger; { r|
|00000750| 65 6d 61 69 6e 64 65 72 | 20 66 72 6f 6d 20 55 44 |emainder| from UD|
|00000760| 69 76 69 64 65 20 7d 0d | 45 4e 44 3b 0d 46 55 4e |ivide }.|END;.FUN|
|00000770| 43 54 49 4f 4e 20 44 65 | 63 32 49 6e 74 20 28 20 |CTION De|c2Int ( |
|00000780| 73 74 72 50 74 72 3a 50 | 74 72 3b 20 73 74 72 4c |strPtr:P|tr; strL|
|00000790| 65 6e 67 74 68 3a 49 6e | 74 65 67 65 72 3b 20 73 |ength:In|teger; s|
|000007a0| 69 67 6e 65 64 46 6c 61 | 67 3a 42 6f 6f 6c 65 61 |ignedFla|g:Boolea|
|000007b0| 6e 29 20 3a 20 49 6e 74 | 65 67 65 72 20 3b 0d 46 |n) : Int|eger ;.F|
|000007c0| 55 4e 43 54 49 4f 4e 20 | 44 65 63 32 4c 6f 6e 67 |UNCTION |Dec2Long|
|000007d0| 20 28 20 73 74 72 50 74 | 72 3a 50 74 72 3b 20 73 | ( strPt|r:Ptr; s|
|000007e0| 74 72 4c 65 6e 67 74 68 | 3a 49 6e 74 65 67 65 72 |trLength|:Integer|
|000007f0| 3b 20 73 69 67 6e 65 64 | 46 6c 61 67 3a 42 6f 6f |; signed|Flag:Boo|
|00000800| 6c 65 61 6e 29 20 3a 20 | 4c 6f 6e 67 69 6e 74 20 |lean) : |Longint |
|00000810| 3b 0d 46 55 4e 43 54 49 | 4f 4e 20 46 69 78 32 46 |;.FUNCTI|ON Fix2F|
|00000820| 72 61 63 20 28 20 66 69 | 78 65 64 56 61 6c 75 65 |rac ( fi|xedValue|
|00000830| 3a 46 69 78 65 64 29 20 | 3a 20 46 72 61 63 20 3b |:Fixed) |: Frac ;|
|00000840| 0d 46 55 4e 43 54 49 4f | 4e 20 46 69 78 32 4c 6f |.FUNCTIO|N Fix2Lo|
|00000850| 6e 67 20 28 20 66 69 78 | 65 64 56 61 6c 75 65 3a |ng ( fix|edValue:|
|00000860| 46 69 78 65 64 29 20 3a | 20 4c 6f 6e 67 69 6e 74 |Fixed) :| Longint|
|00000870| 20 3b 0d 50 52 4f 43 45 | 44 55 52 45 20 46 69 78 | ;.PROCE|DURE Fix|
|00000880| 32 58 20 28 20 66 69 78 | 65 64 56 61 6c 75 65 3a |2X ( fix|edValue:|
|00000890| 46 69 78 65 64 3b 56 41 | 52 20 65 78 74 65 6e 64 |Fixed;VA|R extend|
|000008a0| 50 74 72 3a 45 78 74 65 | 6e 64 65 64 29 20 20 3b |Ptr:Exte|nded) ;|
|000008b0| 0d 46 55 4e 43 54 49 4f | 4e 20 46 69 78 41 54 61 |.FUNCTIO|N FixATa|
|000008c0| 6e 32 20 28 20 69 6e 70 | 75 74 31 3a 4c 6f 6e 67 |n2 ( inp|ut1:Long|
|000008d0| 69 6e 74 3b 20 69 6e 70 | 75 74 32 3a 4c 6f 6e 67 |int; inp|ut2:Long|
|000008e0| 69 6e 74 29 20 3a 20 46 | 69 78 65 64 20 3b 0d 46 |int) : F|ixed ;.F|
|000008f0| 55 4e 43 54 49 4f 4e 20 | 46 69 78 44 69 76 20 28 |UNCTION |FixDiv (|
|00000900| 20 64 69 76 69 64 65 6e | 64 3a 4c 6f 6e 67 69 6e | dividen|d:Longin|
|00000910| 74 3b 20 64 69 76 69 73 | 6f 72 3a 4c 6f 6e 67 69 |t; divis|or:Longi|
|00000920| 6e 74 29 20 3a 20 46 69 | 78 65 64 20 3b 0d 46 55 |nt) : Fi|xed ;.FU|
|00000930| 4e 43 54 49 4f 4e 20 46 | 69 78 4d 75 6c 20 28 20 |NCTION F|ixMul ( |
|00000940| 6d 75 6c 74 69 70 6c 69 | 63 61 6e 64 3a 46 69 78 |multipli|cand:Fix|
|00000950| 65 64 3b 20 6d 75 6c 74 | 69 70 6c 69 65 72 3a 46 |ed; mult|iplier:F|
|00000960| 69 78 65 64 29 20 3a 20 | 46 69 78 65 64 20 3b 0d |ixed) : |Fixed ;.|
|00000970| 46 55 4e 43 54 49 4f 4e | 20 46 69 78 52 61 74 69 |FUNCTION| FixRati|
|00000980| 6f 20 28 20 6e 75 6d 65 | 72 61 74 6f 72 3a 49 6e |o ( nume|rator:In|
|00000990| 74 65 67 65 72 3b 20 64 | 65 6e 6f 6d 69 6e 61 74 |teger; d|enominat|
|000009a0| 6f 72 3a 49 6e 74 65 67 | 65 72 29 20 3a 20 46 69 |or:Integ|er) : Fi|
|000009b0| 78 65 64 20 3b 0d 46 55 | 4e 43 54 49 4f 4e 20 46 |xed ;.FU|NCTION F|
|000009c0| 69 78 52 6f 75 6e 64 20 | 28 20 66 69 78 65 64 56 |ixRound |( fixedV|
|000009d0| 61 6c 75 65 3a 46 69 78 | 65 64 29 20 3a 20 49 6e |alue:Fix|ed) : In|
|000009e0| 74 65 67 65 72 20 3b 0d | 46 55 4e 43 54 49 4f 4e |teger ;.|FUNCTION|
|000009f0| 20 46 72 61 63 32 46 69 | 78 20 28 20 66 72 61 63 | Frac2Fi|x ( frac|
|00000a00| 56 61 6c 75 65 3a 46 72 | 61 63 29 20 3a 20 46 69 |Value:Fr|ac) : Fi|
|00000a10| 78 65 64 20 3b 0d 50 52 | 4f 43 45 44 55 52 45 20 |xed ;.PR|OCEDURE |
|00000a20| 46 72 61 63 32 58 20 28 | 20 66 72 61 63 56 61 6c |Frac2X (| fracVal|
|00000a30| 75 65 3a 46 72 61 63 3b | 56 41 52 20 65 78 74 65 |ue:Frac;|VAR exte|
|00000a40| 6e 64 50 74 72 3a 45 78 | 74 65 6e 64 65 64 29 20 |ndPtr:Ex|tended) |
|00000a50| 20 3b 0d 46 55 4e 43 54 | 49 4f 4e 20 46 72 61 63 | ;.FUNCT|ION Frac|
|00000a60| 43 6f 73 20 28 20 61 6e | 67 6c 65 3a 46 69 78 65 |Cos ( an|gle:Fixe|
|00000a70| 64 29 20 3a 20 46 72 61 | 63 20 3b 0d 46 55 4e 43 |d) : Fra|c ;.FUNC|
|00000a80| 54 49 4f 4e 20 46 72 61 | 63 44 69 76 20 28 20 64 |TION Fra|cDiv ( d|
|00000a90| 69 76 69 64 65 6e 64 3a | 4c 6f 6e 67 69 6e 74 3b |ividend:|Longint;|
|00000aa0| 20 64 69 76 69 73 6f 72 | 3a 4c 6f 6e 67 69 6e 74 | divisor|:Longint|
|00000ab0| 29 20 3a 20 46 72 61 63 | 20 3b 0d 46 55 4e 43 54 |) : Frac| ;.FUNCT|
|00000ac0| 49 4f 4e 20 46 72 61 63 | 4d 75 6c 20 28 20 6d 75 |ION Frac|Mul ( mu|
|00000ad0| 6c 74 69 70 6c 69 63 61 | 6e 64 3a 46 72 61 63 3b |ltiplica|nd:Frac;|
|00000ae0| 20 6d 75 6c 74 69 70 6c | 69 65 72 3a 46 72 61 63 | multipl|ier:Frac|
|00000af0| 29 20 3a 20 46 72 61 63 | 20 3b 0d 46 55 4e 43 54 |) : Frac| ;.FUNCT|
|00000b00| 49 4f 4e 20 46 72 61 63 | 53 69 6e 20 28 20 61 6e |ION Frac|Sin ( an|
|00000b10| 67 6c 65 3a 46 69 78 65 | 64 29 20 3a 20 46 72 61 |gle:Fixe|d) : Fra|
|00000b20| 63 20 3b 0d 46 55 4e 43 | 54 49 4f 4e 20 46 72 61 |c ;.FUNC|TION Fra|
|00000b30| 63 53 71 72 74 20 28 20 | 66 72 61 63 56 61 6c 75 |cSqrt ( |fracValu|
|00000b40| 65 3a 46 72 61 63 29 20 | 3a 20 46 72 61 63 20 3b |e:Frac) |: Frac ;|
|00000b50| 0d 46 55 4e 43 54 49 4f | 4e 20 48 65 78 32 49 6e |.FUNCTIO|N Hex2In|
|00000b60| 74 20 28 20 73 74 72 50 | 74 72 3a 50 74 72 3b 20 |t ( strP|tr:Ptr; |
|00000b70| 73 74 72 4c 65 6e 67 74 | 68 3a 49 6e 74 65 67 65 |strLengt|h:Intege|
|00000b80| 72 29 20 3a 20 49 6e 74 | 65 67 65 72 20 3b 0d 46 |r) : Int|eger ;.F|
|00000b90| 55 4e 43 54 49 4f 4e 20 | 48 65 78 32 4c 6f 6e 67 |UNCTION |Hex2Long|
|00000ba0| 20 28 20 73 74 72 50 74 | 72 3a 50 74 72 3b 20 73 | ( strPt|r:Ptr; s|
|00000bb0| 74 72 4c 65 6e 67 74 68 | 3a 49 6e 74 65 67 65 72 |trLength|:Integer|
|00000bc0| 29 20 3a 20 4c 6f 6e 67 | 69 6e 74 20 3b 0d 46 55 |) : Long|int ;.FU|
|00000bd0| 4e 43 54 49 4f 4e 20 48 | 65 78 49 74 20 28 20 69 |NCTION H|exIt ( i|
|00000be0| 6e 74 56 61 6c 75 65 3a | 49 6e 74 65 67 65 72 29 |ntValue:|Integer)|
|00000bf0| 20 3a 20 4c 6f 6e 67 69 | 6e 74 20 3b 0d 46 55 4e | : Longi|nt ;.FUN|
|00000c00| 43 54 49 4f 4e 20 48 69 | 57 6f 72 64 20 28 20 6c |CTION Hi|Word ( l|
|00000c10| 6f 6e 67 56 61 6c 75 65 | 3a 4c 6f 6e 67 69 6e 74 |ongValue|:Longint|
|00000c20| 29 20 3a 20 49 6e 74 65 | 67 65 72 20 3b 0d 50 52 |) : Inte|ger ;.PR|
|00000c30| 4f 43 45 44 55 52 45 20 | 49 4d 42 6f 6f 74 49 6e |OCEDURE |IMBootIn|
|00000c40| 69 74 20 20 20 3b 0d 50 | 52 4f 43 45 44 55 52 45 |it ;.P|ROCEDURE|
|00000c50| 20 49 4d 52 65 73 65 74 | 20 20 20 3b 0d 50 52 4f | IMReset| ;.PRO|
|00000c60| 43 45 44 55 52 45 20 49 | 4d 53 68 75 74 44 6f 77 |CEDURE I|MShutDow|
|00000c70| 6e 20 20 20 3b 0d 50 52 | 4f 43 45 44 55 52 45 20 |n ;.PR|OCEDURE |
|00000c80| 49 4d 53 74 61 72 74 55 | 70 20 20 20 3b 0d 46 55 |IMStartU|p ;.FU|
|00000c90| 4e 43 54 49 4f 4e 20 49 | 4d 53 74 61 74 75 73 20 |NCTION I|MStatus |
|00000ca0| 20 3a 20 42 6f 6f 6c 65 | 61 6e 20 3b 0d 46 55 4e | : Boole|an ;.FUN|
|00000cb0| 43 54 49 4f 4e 20 49 4d | 56 65 72 73 69 6f 6e 20 |CTION IM|Version |
|00000cc0| 20 3a 20 49 6e 74 65 67 | 65 72 20 3b 0d 50 52 4f | : Integ|er ;.PRO|
|00000cd0| 43 45 44 55 52 45 20 49 | 6e 74 32 44 65 63 20 28 |CEDURE I|nt2Dec (|
|00000ce0| 20 77 6f 72 64 56 61 6c | 75 65 3a 49 6e 74 65 67 | wordVal|ue:Integ|
|00000cf0| 65 72 3b 20 73 74 72 50 | 74 72 3a 50 74 72 3b 20 |er; strP|tr:Ptr; |
|00000d00| 73 74 72 4c 65 6e 67 74 | 68 3a 49 6e 74 65 67 65 |strLengt|h:Intege|
|00000d10| 72 3b 20 73 69 67 6e 65 | 64 46 6c 61 67 3a 42 6f |r; signe|dFlag:Bo|
|00000d20| 6f 6c 65 61 6e 29 20 20 | 3b 0d 50 52 4f 43 45 44 |olean) |;.PROCED|
|00000d30| 55 52 45 20 49 6e 74 32 | 48 65 78 20 28 20 69 6e |URE Int2|Hex ( in|
|00000d40| 74 56 61 6c 75 65 3a 49 | 6e 74 65 67 65 72 3b 20 |tValue:I|nteger; |
|00000d50| 73 74 72 50 74 72 3a 50 | 74 72 3b 20 73 74 72 4c |strPtr:P|tr; strL|
|00000d60| 65 6e 67 74 68 3a 49 6e | 74 65 67 65 72 29 20 20 |ength:In|teger) |
|00000d70| 3b 0d 50 52 4f 43 45 44 | 55 52 45 20 4c 6f 6e 67 |;.PROCED|URE Long|
|00000d80| 32 44 65 63 20 28 20 6c | 6f 6e 67 56 61 6c 75 65 |2Dec ( l|ongValue|
|00000d90| 3a 4c 6f 6e 67 69 6e 74 | 3b 20 73 74 72 50 74 72 |:Longint|; strPtr|
|00000da0| 3a 50 74 72 3b 20 73 74 | 72 4c 65 6e 67 74 68 3a |:Ptr; st|rLength:|
|00000db0| 49 6e 74 65 67 65 72 3b | 20 73 69 67 6e 65 64 46 |Integer;| signedF|
|00000dc0| 6c 61 67 3a 42 6f 6f 6c | 65 61 6e 29 20 20 3b 0d |lag:Bool|ean) ;.|
|00000dd0| 46 55 4e 43 54 49 4f 4e | 20 4c 6f 6e 67 32 46 69 |FUNCTION| Long2Fi|
|00000de0| 78 20 28 20 6c 6f 6e 67 | 56 61 6c 75 65 3a 4c 6f |x ( long|Value:Lo|
|00000df0| 6e 67 69 6e 74 29 20 3a | 20 46 69 78 65 64 20 3b |ngint) :| Fixed ;|
|00000e00| 0d 50 52 4f 43 45 44 55 | 52 45 20 4c 6f 6e 67 32 |.PROCEDU|RE Long2|
|00000e10| 48 65 78 20 28 20 6c 6f | 6e 67 56 61 6c 75 65 3a |Hex ( lo|ngValue:|
|00000e20| 4c 6f 6e 67 69 6e 74 3b | 20 73 74 72 50 74 72 3a |Longint;| strPtr:|
|00000e30| 50 74 72 3b 20 73 74 72 | 4c 65 6e 67 74 68 3a 49 |Ptr; str|Length:I|
|00000e40| 6e 74 65 67 65 72 29 20 | 20 3b 0d 46 55 4e 43 54 |nteger) | ;.FUNCT|
|00000e50| 49 4f 4e 20 4c 6f 6e 67 | 44 69 76 69 64 65 20 28 |ION Long|Divide (|
|00000e60| 20 64 69 76 69 64 65 6e | 64 3a 4c 6f 6e 67 69 6e | dividen|d:Longin|
|00000e70| 74 3b 20 64 69 76 69 73 | 6f 72 3a 4c 6f 6e 67 69 |t; divis|or:Longi|
|00000e80| 6e 74 29 20 3a 20 4c 6f | 6e 67 44 69 76 52 65 63 |nt) : Lo|ngDivRec|
|00000e90| 20 3b 0d 46 55 4e 43 54 | 49 4f 4e 20 4c 6f 6e 67 | ;.FUNCT|ION Long|
|00000ea0| 4d 75 6c 20 28 20 6d 75 | 6c 74 69 70 6c 69 63 61 |Mul ( mu|ltiplica|
|00000eb0| 6e 64 3a 4c 6f 6e 67 69 | 6e 74 3b 20 6d 75 6c 74 |nd:Longi|nt; mult|
|00000ec0| 69 70 6c 69 65 72 3a 4c | 6f 6e 67 69 6e 74 29 20 |iplier:L|ongint) |
|00000ed0| 3a 20 4c 6f 6e 67 4d 75 | 6c 52 65 63 20 3b 0d 46 |: LongMu|lRec ;.F|
|00000ee0| 55 4e 43 54 49 4f 4e 20 | 4c 6f 57 6f 72 64 20 28 |UNCTION |LoWord (|
|00000ef0| 20 6c 6f 6e 67 56 61 6c | 75 65 3a 4c 6f 6e 67 69 | longVal|ue:Longi|
|00000f00| 6e 74 29 20 3a 20 49 6e | 74 65 67 65 72 20 3b 0d |nt) : In|teger ;.|
|00000f10| 46 55 4e 43 54 49 4f 4e | 20 4d 75 6c 74 69 70 6c |FUNCTION| Multipl|
|00000f20| 79 20 28 20 6d 75 6c 74 | 69 70 6c 69 63 61 6e 64 |y ( mult|iplicand|
|00000f30| 3a 49 6e 74 65 67 65 72 | 3b 20 6d 75 6c 74 69 70 |:Integer|; multip|
|00000f40| 6c 69 65 72 3a 49 6e 74 | 65 67 65 72 29 20 3a 20 |lier:Int|eger) : |
|00000f50| 4c 6f 6e 67 69 6e 74 20 | 3b 0d 46 55 4e 43 54 49 |Longint |;.FUNCTI|
|00000f60| 4f 4e 20 53 44 69 76 69 | 64 65 20 28 20 64 69 76 |ON SDivi|de ( div|
|00000f70| 69 64 65 6e 64 3a 49 6e | 74 65 67 65 72 3b 20 64 |idend:In|teger; d|
|00000f80| 69 76 69 73 6f 72 3a 49 | 6e 74 65 67 65 72 29 20 |ivisor:I|nteger) |
|00000f90| 3a 20 49 6e 74 44 69 76 | 52 65 63 20 3b 0d 46 55 |: IntDiv|Rec ;.FU|
|00000fa0| 4e 43 54 49 4f 4e 20 55 | 44 69 76 69 64 65 20 28 |NCTION U|Divide (|
|00000fb0| 20 64 69 76 69 64 65 6e | 64 3a 49 6e 74 65 67 65 | dividen|d:Intege|
|00000fc0| 72 3b 20 64 69 76 69 73 | 6f 72 3a 49 6e 74 65 67 |r; divis|or:Integ|
|00000fd0| 65 72 29 20 3a 20 57 6f | 72 64 44 69 76 52 65 63 |er) : Wo|rdDivRec|
|00000fe0| 20 3b 0d 46 55 4e 43 54 | 49 4f 4e 20 58 32 46 69 | ;.FUNCT|ION X2Fi|
|00000ff0| 78 20 28 20 65 78 74 65 | 6e 64 50 74 72 3a 45 78 |x ( exte|ndPtr:Ex|
|00001000| 74 65 6e 64 65 64 50 74 | 72 29 20 3a 20 46 69 78 |tendedPt|r) : Fix|
|00001010| 65 64 20 3b 0d 46 55 4e | 43 54 49 4f 4e 20 58 32 |ed ;.FUN|CTION X2|
|00001020| 46 72 61 63 20 28 20 65 | 78 74 65 6e 64 50 74 72 |Frac ( e|xtendPtr|
|00001030| 3a 45 78 74 65 6e 64 65 | 64 50 74 72 29 20 3a 20 |:Extende|dPtr) : |
|00001040| 46 72 61 63 20 3b 0d 49 | 4d 50 4c 45 4d 45 4e 54 |Frac ;.I|MPLEMENT|
|00001050| 41 54 49 4f 4e 0d 45 4e | 44 2e 0d 00 00 00 00 00 |ATION.EN|D.......|
|00001060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001090| 00 00 00 01 00 00 00 02 | 11 00 00 01 11 00 00 00 |........|........|
|000010a0| 5c 00 2b 14 9c 05 e2 00 | 00 00 1c 00 52 00 01 4d |\.+.....|....R..M|
|000010b0| 09 49 6e 74 4d 61 74 68 | 2e 70 02 00 00 00 54 45 |.IntMath|.p....TE|
|000010c0| 58 54 4d 50 53 20 01 00 | 00 80 00 40 00 00 00 00 |XTMPS ..|...@....|
|000010d0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 80 00 40 |..TEXTMP|S .....@|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 a1 49 a6 80 00 00 | 0f db 00 00 01 1e 6d 51 |...I....|......mQ|
|00001100| 4c 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |L.......|........|
|00001110| 00 00 00 00 14 01 05 43 | 61 6e 63 65 6c 3a 20 45 |.......C|ancel: E|
|00001120| 73 63 14 36 05 4f 4b 3a | 20 10 4d 13 00 14 36 05 |sc.6.OK:| .M...6.|
|00001130| 4f 4b 3a 20 10 4d 13 00 | 20 1f 54 a2 03 b5 e6 9d |OK: .M..| .T.....|
|00001140| 60 52 ca 10 f8 68 85 e8 | 68 85 e9 68 85 e6 68 85 |`R...h..|h..h..h.|
|00001150| e7 68 8d 5f 52 a0 00 b1 | e6 d1 e8 90 02 b1 e8 aa |.h._R...|........|
|00001160| f0 32 c8 b1 e6 29 7f 2c | 5f 52 30 0a c9 60 90 06 |.2...).,|_R0..`..|
|00001170| c9 7b b0 02 29 5f 8d 5e | 52 b1 e8 29 7f 2c 5f 52 |.{..)_.^|R..).,_R|
|00001180| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001190| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|000011a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+